package com.mcxx.modules.nopage.dto;

import com.mcxx.modules.annotations.ObjectInfoAnnotations;
import com.mcxx.modules.annotations.TableInfoAnnotations;
import com.mcxx.modules.annotations.TableInsertMethod;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


@Data
public class JHSalvationEFileDTO {

    @ApiModelProperty(value = "档案编号")
    private String documentCode;

    @ApiModelProperty(value = "乡镇")
    private String town;

    @ApiModelProperty(value = "申请人姓名")
    private String name;

    @ApiModelProperty(value = "救助类型")
    private String salvationType;

    @ApiModelProperty(value = "家庭地址")
    private String address;

    @ApiModelProperty(value = "家庭成员人数")
    private String famNum;

    @ApiModelProperty(value = "创建年")
    private String cYear;

    @ApiModelProperty(value = "创建月")
    private String cMonth;

    @ApiModelProperty(value = "创建日")
    private String cDay;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "身份证号码")
    private String idCard;

    @ApiModelProperty(value = "户籍是否农业")
    private String isFarmer;

    @ApiModelProperty(value = "年龄")
    private String age;

    @ApiModelProperty(value = "电话")
    private String telephone;

    @ApiModelProperty(value = "创建人")
    private String cName;

    @ApiModelProperty(value = "户籍地址")
    private String registerAddress;

    @ApiModelProperty(value = "银行卡号")
    private String cardNum;

    @ApiModelProperty(value = "调查日期")
    private String surDate;

    @ApiModelProperty(value = "调查人")
    private String surName;

    @ApiModelProperty(value = "初审人均补差金额")
    @ObjectInfoAnnotations(isNullPass = false)
    private String salaryAmountMember;

    @ApiModelProperty(value = "初审家庭补差金额")
    @ObjectInfoAnnotations(isNullPass = false)
    private String salaryAmountFamily;

    @ApiModelProperty(value = "民主评议年")
    private String PO_rYear;

    @ApiModelProperty(value = "民主评议月")
    private String PO_rMonth;

    @ApiModelProperty(value = "民主评议日")
    private String PO_rDay;

    @ApiModelProperty(value = "民主评议人数")
    private String PO_commenterNum;

    @ApiModelProperty(value = "民主评议同意票数")
    private String PO_agreeNum;

    @ApiModelProperty(value = "民主评议不同意票数")
    private String PO_disagreeNum;

    @ApiModelProperty(value = "民主评议弃票数")
    private String PO_abstainNum;

    @ApiModelProperty(value = "民主评议小组长(主持人)")
    private String PO_rName;

    @ApiModelProperty(value = "民主评议年")
    private String PO_rYearO;

    @ApiModelProperty(value = "民主评议月")
    private String PO_rMonthO;

    @ApiModelProperty(value = "民主评议日")
    private String PO_rDayO;

    @ApiModelProperty(value = "工资性月收入求和")
    private String PO_incomeForSalarySum;

    @ApiModelProperty(value = "经营性月收入求和")
    private String PO_incomeForBusinessSum;

    @ApiModelProperty(value = "财产性月收入求和")
    private String PO_incomeForPropertySum;

    @ApiModelProperty(value = "转移性月收入求和")
    private String PO_incomeForTransformSum;

    @ApiModelProperty(value = "其他性月收入求和")
    private String PO_incomeForOtherSum;

    @ApiModelProperty(value = "重病月支出求和")
    private String PO_outcomeForIllnessSum;

    @ApiModelProperty(value = "就业月支出求和")
    private String PO_outcomeForWorkingSum;

    @ApiModelProperty(value = "教育月支出求和")
    private String PO_outcomeForEducationSum;

    @ApiModelProperty(value = "其他月支出求和")
    private String PO_outcomeForOtherSum;

    @ApiModelProperty(value = "工资性月收入")
    private String PO_incomeForSalarySumMonth;

    @ApiModelProperty(value = "经营性月收入")
    private String PO_incomeForBusinessSumMonth;

    @ApiModelProperty(value = "财产性月收入")
    private String PO_incomeForPropertySumMonth;

    @ApiModelProperty(value = "转移性月收入")
    private String PO_incomeForTransformSumMonth;

    @ApiModelProperty(value = "总支出")
    private String PO_outcomeForSumMonth;

    @ApiModelProperty(value = "家庭计算收入总计")
    private String PO_incomeForMemberMonth;

    @ApiModelProperty(value = "家庭人均收入情况")
    private String PO_incomeInfoForFamily;

    @ApiModelProperty(value = "家庭贫困原因")
    private String PO_poorForReason;

    @ApiModelProperty(value = "开始救助年")
    private String PO_beginYear;

    @ApiModelProperty(value = "开始救助月")
    private String PO_beginMonth;

    @ApiModelProperty(value = "家庭公职成员")
    private String familysOfPolitics;

    @ApiModelProperty(value = "证券和现金")
    private String PO_investAndCash;

    @ApiModelProperty(value = "证券和现金")
    private String PO_investAndCashC;

    @ApiModelProperty(value = "其他财产")
    private String PO_otherProperty;

    @ApiModelProperty(value = "资产总金额")
    private String PO_totalPrice;

    @ApiModelProperty(value = "重病月支出求和")
    private String PO_outcomeForIllness;

    @ApiModelProperty(value = "就业月支出求和")
    private String PO_outcomeForWorking;

    @ApiModelProperty(value = "教育月支出求和")
    private String PO_outcomeForEducation;

    @ApiModelProperty(value = "民主评议Id")
    private String mzId;

    @ApiModelProperty(value = "公示批次Id")
    private String gsId;

    @ApiModelProperty(value = "家庭成员是否有公职人员")
    private String isPoliticsOfFamily;

    @ApiModelProperty(value = "入户调查Id")
    private String rhId;

    @Data
    @ApiModel(value = "家庭成员收入信息")
    @TableInfoAnnotations(rowMax = 6, method = TableInsertMethod.HORIZONTAL)
    public static class FamilyMemberIncome {
        @ApiModelProperty(value = "家庭成员姓名")
        @TableInfoAnnotations(colIndex = 1, rowStart = 6, colStart = 3)
        private String name;

        @ApiModelProperty(value = "工资性月收入")
        @TableInfoAnnotations(colIndex = 2, rowStart = 6, colStart = 3)
        private String incomeForSalary;

        @ApiModelProperty(value = "经营性月收入")
        @TableInfoAnnotations(colIndex = 4, rowStart = 6, colStart = 3)
        private String incomeForBusiness;

        @ApiModelProperty(value = "财产性月收入")
        @TableInfoAnnotations(colIndex = 6, rowStart = 6, colStart = 3)
        private String incomeForProperty;

        @ApiModelProperty(value = "转移性月收入")
        @TableInfoAnnotations(colIndex = 8, rowStart = 6, colStart = 3)
        private String incomeForTransform;

        @ApiModelProperty(value = "其他性月收入")
        @TableInfoAnnotations(colIndex = 10, rowStart = 6, colStart = 3)
        private String incomeForOther;
    }

    @Data
    @ApiModel(value = "家庭车辆信息")
    @TableInfoAnnotations(rowMax = 2)
    public static class FamilyVehicleInfo {
        @ApiModelProperty(value = "家庭成员姓名")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 21)
        private String name;

        @ApiModelProperty(value = "车辆价格")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 21)
        private String price;
    }

    @Data
    @ApiModel(value = "家庭房产信息")
    @TableInfoAnnotations(rowMax = 2)
    public static class FamilyBuildingsInfo {
        @ApiModelProperty(value = "家庭成员姓名")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 24)
        private String name;

        @ApiModelProperty(value = "房屋价钱")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 24)
        private String houseForPrice;
    }

    @Data
    @ApiModel(value = "家庭成员支出信息")
    @TableInfoAnnotations(rowMax = 5, method = TableInsertMethod.HORIZONTAL)
    public static class FamilyMemberOutcome {
        @ApiModelProperty(value = "家庭成员姓名")
        @TableInfoAnnotations(colIndex = 1, rowStart = 29, colStart = 2)
        private String name;

        @ApiModelProperty(value = "重病支出")
        @TableInfoAnnotations(colIndex = 2, rowStart = 29, colStart = 2)
        private String outcomeForIllness;

        @ApiModelProperty(value = "就学支出")
        @TableInfoAnnotations(colIndex = 3, rowStart = 29, colStart = 2)
        private String outcomeForEducation;

        @ApiModelProperty(value = "就业支出")
        @TableInfoAnnotations(colIndex = 4, rowStart = 29, colStart = 2)
        private String outcomeForWorking;

        @ApiModelProperty(value = "其他支出")
        @TableInfoAnnotations(colIndex = 5, rowStart = 29, colStart = 2)
        private String outcomeForOther;
    }

    @Data
    @ApiModel(value = "家庭生活成员信息")
    @TableInfoAnnotations(rowMax = 5)
    public static class FamilyMemberInfo {

        @ApiModelProperty(value = "家庭表id")
        private String id;

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 37)
        private String name;

        @ApiModelProperty(value = "身份证号码")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 37)
        private String idCard;

        @ApiModelProperty(value = "与户主关系")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 37)
        private String relation;

        @ApiModelProperty(value = "就业状况")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 37)
        private String currProfState;

        @ApiModelProperty(value = "婚姻状况")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 37)
        private String marriage;

        @ApiModelProperty(value = "劳动能力")
        @TableInfoAnnotations(rowIndex = 7, rowStart = 37)
        private String abilityForWork;

        @ApiModelProperty(value = "健康状况")
        @TableInfoAnnotations(rowIndex = 8, rowStart = 37)
        private String healthInfo;

        @ApiModelProperty(value = "文化程度")
        @TableInfoAnnotations(rowIndex = 9, rowStart = 37)
        private String studyInfo;
    }

    @Data
    @ApiModel(value = "家庭赡抚人员信息")
    @TableInfoAnnotations(rowMax = 5)
    public static class SupportPeopleInfo {

        @ApiModelProperty(value = "家庭表id")
        private String id;

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 42)
        private String name;

        @ApiModelProperty(value = "身份证号码")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 42)
        private String idCard;

        @ApiModelProperty(value = "与户主关系")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 42)
        private String relation;

        @ApiModelProperty(value = "就业状况")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 42)
        private String currProfState;

        @ApiModelProperty(value = "婚姻状况")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 42)
        private String marriage;

        @ApiModelProperty(value = "劳动能力")
        @TableInfoAnnotations(rowIndex = 7, rowStart = 42)
        private String abilityForWork;

        @ApiModelProperty(value = "健康状况")
        @TableInfoAnnotations(rowIndex = 8, rowStart = 42)
        private String healthInfo;

        @ApiModelProperty(value = "文化程度")
        @TableInfoAnnotations(rowIndex = 9, rowStart = 42)
        private String studyInfo;
    }

    @Data
    @ApiModel(value = "入户调查家庭生活成员信息")
    @TableInfoAnnotations(rowMax = 5, method = TableInsertMethod.HORIZONTAL)
    public static class SurveyFamilyMemberInfo {

        @ApiModelProperty(value = "家庭表id")
        private String id;

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(colIndex = 1, rowStart = 1, colStart = 2)
        private String name;

        @ApiModelProperty(value = "身份证号码")
        @TableInfoAnnotations(colIndex = 2, rowStart = 1, colStart = 2)
        private String idCard;

        @ApiModelProperty(value = "与户主关系")
        @TableInfoAnnotations(colIndex = 3, rowStart = 1, colStart = 2)
        private String relation;

        @ApiModelProperty(value = "民族")
        @TableInfoAnnotations(colIndex = 4, rowStart = 1, colStart = 2)
        private String racial;

        @ApiModelProperty(value = "性别")
        @TableInfoAnnotations(colIndex = 5, rowStart = 1, colStart = 2)
        private String sex;

        @ApiModelProperty(value = "年龄")
        @TableInfoAnnotations(colIndex = 6, rowStart = 1, colStart = 2)
        private String age;

        @ApiModelProperty(value = "劳动能力")
        @TableInfoAnnotations(colIndex = 7, rowStart = 1, colStart = 2)
        private String abilityForWork;

        @ApiModelProperty(value = "就业状况")
        @TableInfoAnnotations(colIndex = 8, rowStart = 1, colStart = 2)
        private String currProfState;

        @ApiModelProperty(value = "健康状况")
        @TableInfoAnnotations(colIndex = 9, rowStart = 1, colStart = 2)
        private String healthInfo;

        @ApiModelProperty(value = "就学状况")
        @TableInfoAnnotations(colIndex = 10, rowStart = 1, colStart = 2)
        private String studyInfo;

        @ApiModelProperty(value = "婚姻状况")
        @TableInfoAnnotations(colIndex = 11, rowStart = 1, colStart = 2)
        private String marriage;

        @ApiModelProperty(value = "残疾信息")
        @TableInfoAnnotations(colIndex = 12, rowStart = 1, colStart = 2)
        private String disabilityInfo;

        @ApiModelProperty(value = "重病信息")
        @TableInfoAnnotations(colIndex = 15, rowStart = 1, colStart = 2)
        private String illnessInfo;
    }

    @Data
    @ApiModel(value = "入户调查家庭赡抚人员信息")
    @TableInfoAnnotations(rowMax = 5, method = TableInsertMethod.HORIZONTAL)
    public static class SurveySupportPeopleInfo {

        @ApiModelProperty(value = "家庭表id")
        private String id;

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(colIndex = 1, rowStart = 1, colStart = 2)
        private String name;

        @ApiModelProperty(value = "身份证号码")
        @TableInfoAnnotations(colIndex = 2, rowStart = 1, colStart = 2)
        private String idCard;

        @ApiModelProperty(value = "与户主关系")
        @TableInfoAnnotations(colIndex = 3, rowStart = 1, colStart = 2)
        private String relation;

        @ApiModelProperty(value = "民族")
        @TableInfoAnnotations(colIndex = 4, rowStart = 1, colStart = 2)
        private String racial;

        @ApiModelProperty(value = "性别")
        @TableInfoAnnotations(colIndex = 5, rowStart = 1, colStart = 2)
        private String sex;

        @ApiModelProperty(value = "年龄")
        @TableInfoAnnotations(colIndex = 6, rowStart = 1, colStart = 2)
        private String age;

        @ApiModelProperty(value = "劳动能力")
        @TableInfoAnnotations(colIndex = 7, rowStart = 1, colStart = 2)
        private String abilityForWork;

        @ApiModelProperty(value = "就业状况")
        @TableInfoAnnotations(colIndex = 8, rowStart = 1, colStart = 2)
        private String currProfState;

        @ApiModelProperty(value = "健康状况")
        @TableInfoAnnotations(colIndex = 9, rowStart = 1, colStart = 2)
        private String healthInfo;

        @ApiModelProperty(value = "就学状况")
        @TableInfoAnnotations(colIndex = 10, rowStart = 1, colStart = 2)
        private String studyInfo;

        @ApiModelProperty(value = "婚姻状况")
        @TableInfoAnnotations(colIndex = 11, rowStart = 1, colStart = 2)
        private String marriage;

        @ApiModelProperty(value = "残疾信息")
        @TableInfoAnnotations(colIndex = 12, rowStart = 1, colStart = 2)
        private String disabilityInfo;

        @ApiModelProperty(value = "重病信息")
        @TableInfoAnnotations(colIndex = 14, rowStart = 1, colStart = 2)
        private String illnessInfo;
    }

    @Data
    @ApiModel(value = "家庭月收入信息")
    @TableInfoAnnotations(rowMax = 6)
    public static class MemberIncomeInfo {
        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 1, rowStart = 2)
        private String name;

        @ApiModelProperty(value = "计算理由")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 2)
        private String calcReason;

        @ApiModelProperty(value = "月收入")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 2)
        private String incomeForMonth;
    }

    @Data
    @ApiModel(value = "审核家庭生活成员信息")
    @TableInfoAnnotations(rowMax = 11)
    public static class ReviewFamilyMemberInfo {

        @ApiModelProperty(value = "家庭表id")
        private String id;

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 1, rowStart = 2)
        private String name;

        @ApiModelProperty(value = "与户主关系")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 2)
        private String relation;

        @ApiModelProperty(value = "性别")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 2)
        private String sex;

        @ApiModelProperty(value = "年龄")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 2)
        private String age;
    }
}
